import Vue from 'vue'
import App from './App.vue'

Vue.config.productionTip = false
// 注册element
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import '../element-variables.scss'
// 注册路由
import router from "./router"
// 导入cookies
// import Cookies from 'js-cookie';
/**
 * @todo 进行 权限鉴定
 * 调用全局路由守卫限制路由跳转
 * @param {object} to - 下一个路由信息
 * 
 *  */
/**
 * @type {Array<{
*   path: string;
*   name: string;
*   component: string; // 或者定义一个更具体的类型来描述后端返回的组件路径
*   meta?: Record<string, any>;
* }>}
*/
// let dynamicRoutes = [] // 从后端获取的数据
// if (dynamicRoutes.length) {
//   const routerObj = dynamicRoutes.map(route => ({
//     path: route.path,
//     name: route.name,
//     component: () => import(`@/views/${route.component}.vue`) // 注意这里的动态导入
//   }))
//   router.addRoutes(routerObj)
// }
// router.beforeEach((to, from, next) => {
//   let token = Cookies.get('token');
//   // 判断是否携带token令牌
//   if (!token && to.name !== 'login') {
//     next({ name: "login" })
//   } else if (token && to.name === 'login') {
//     next({ name: 'home' });
//   } else {
//     next();
//   }
// })
// 注册vuex仓库
import store from "@/store"
// 注册mock---ajax请求拦截
Vue.use(ElementUI);
new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app')
